package com.wing.sms.config;

import com.aliyun.dysmsapi20170525.Client;
import com.aliyun.teaopenapi.models.Config;
import com.aliyuncs.exceptions.ClientException;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

/**
 * * 程序名 : AliyunSmsConfig
 * 模块 : 短信中心
 * 描述 : 阿里云短信配置
 */
@Slf4j
@Configuration
public class AliyunSmsConfig {
	

	@Value("${aliyun.sms.accessKeyId:xxxxx}")
	private String accessKeyId;
	@Value("${aliyun.sms.accessKeySecret:xxxxx}")
	private String accessKeySecret;

	@Bean
	public Client iAcsClient() throws ClientException {
		
		// 设置超时时间-可自行调整
		System.setProperty("sun.net.client.defaultConnectTimeout", "10000");
		System.setProperty("sun.net.client.defaultReadTimeout", "10000");
		// 初始化ascClient需要的几个参数
		log.info("初始化阿里云接口:" + this);
		final String product = "Dysmsapi";// 短信API产品名称（短信产品名固定，无需修改）
		final String domain = "dysmsapi.aliyuncs.com";// 短信API产品域名（接口地址固定，无需修改）
		// 替换成你的AK
		// 初始化ascClient,暂时不支持多region（请勿修改）
		try {
			Config config = new Config()
					// 您的AccessKey ID
					.setAccessKeyId(accessKeyId)
					// 您的AccessKey Secret
					.setAccessKeySecret(accessKeySecret);
			// 访问的域名
			config.endpoint = "dysmsapi.aliyuncs.com";
			return new com.aliyun.dysmsapi20170525.Client(config);
		} catch (Exception e) {
            log.error("初始化阿里云客户端失败：" + e);
            return null;
        }

	}

}
